home *** CD-ROM | disk | FTP | other *** search
- TOOLKIT OVERVIEW
-
- This section provides an overview of the development environment by
- discussing the directory tree, the development models available and
- the architecture of a DESQview/X X/Motif Client. Next, we will discuss
- the tools that you use to write, compile, link and debug your client.
- Porting issues are discussed as well as changes between UNIX and DESQview/X.
-
- Once you have a general understanding of the pieces involved in generating
- an X Client, you can continue with the following chapters that tie
- everything together, provide a step-by-step example and discuss porting
- matters and DESQview/X differences from a UNIX X Window System.
-
- The Directory Tree
-
- Shown below to the right are the important parts of the DESQview/X
- directory tree that are of interest in creating an X Client. This
- directory tree is similar to the X directory tree that you would find
- under /usr on a UNIX system.
-
- DEMOS and CLIENTS
-
- This directory contains subdirectories of the demonstration programs. In
- each demonstration program subdirectory are the makefiles necessary
- to create the program for various compiler/linker combinations.
-
- INCLUDE
-
- This directory contains subdirectories of the X Window System, OSF/Motif
- and DESQview/X library header files that are required when compiling
- an X/Motif Client.
-
- LIB
-
- This directory contains subdirectories for the individual compilers
- you have installed, containing the appropriate X Window System and
- DESQview/X program libraries for that particular compiler. The MetaWare
- libraries are under HC386 and HC387, the Watcom libraries are under
- C386 and the GNU libraries are under DJGPP.
-
- Development Models
-
- In each demonstration program's subdirectory, for example\DVX\DEMOS\MAZE,
- you will find makefiles that will create a version of the program
- for each of the supported development models. The makefiles consist
- of a name with no file extension.
-
- Only the development models that apply to the compiler edition of
- the toolkit which you have will apply to you. All of the models are
- 32 bit.
-
- By examining these makefiles you can determine all of the available
- compiler/linker combinations. These combinations should include:
-
- For the DOS/4GX Extender:
-
- This extender can be used with MetaWare and Watcom compilers and is
- included in the MetaWare and Watcom toolkit editions.
-
- xxLE makefiles
-
- Generates a 32-bit protected mode linear executable
- using the DOS/4GX extender. The HCLE makefile uses the MetaWare High
- C/C++ compiler and the XGLU linker to generate a 32-bit Linear Executable
- using the DOS/4GX DOS extender. The WCLE makefile uses the Watcom
- 9.5 C/C++ 32 compiler and the XGLU linker to generate a 32-bit Linear
- Executable using the DOS/4GX DOS extender.
-
- Executables using XGLU can be debugged using the XD debugger. Refer
- to the Rational Systems "DOS/4GX Building X Applications for DESQview/X"
- manual for details.
-
- For the DOS/4GW Extender:
-
- This extender can be used with, and is indcluded with, the Watcom
- compiler. This extender comes with the Watcom compiler.
-
- WC4G makefile
-
- Generates a 32-bit protected mode linear executable
- using the DOS/4GW extender which is included with the Watcom compiler. The
- WC4G makefile uses the Watcom 9.5 C/C++ 32 compiler and the wlink
- linker to generate a 32-bit Linear Executable using the DOS/4GW DOS
- extender.
-
- Executables using the wlink linker can be debugged using the WVIDEO
- debugger that comes with your Watcom compiler. Refer to the Watcom
- WVIDEO manual for details.
-
- For the Phar Lap 386 or TNT DOS Extender:
-
- xxPHAR
-
- Generates a 32-bit protected mode program using the
- Phar Lap DOS extender. HCPHAR uses the MetaWare High C/C++ compiler
- and Phar Lap's 386link to generate a 32-bit executable.
-
- For the GO32 DOS Extender:
-
- MAKEFILE
-
- Generates a 32-bit protected mode program using the
- GO32 DOS extender. makefile uses the DJGPP GNU C/C++ compiler and
- the ld linker to generate a 32-bit executable.
-
- Executables using this model can be debugged using the go32 debugger
- debug32. Refer to the *.doc files in the DJGPP distribution.
-
- From the choices of makefiles, you should be able to decide which
- compiler/linker combination best fits your needs.
-
- During toolkit installation a batch file is generated to set up an
- environment for each compiler with the default model. The batch files
- are placed in the DVX directory as follows:
-
- HIGHC.BAT - High C/C++ with the XGLU linker (HCLE).
- WATCOM.BAT - Watcom 9.5 C/C++ 32 with the wlink linker (WC4G).
- DJGPP.BAT - DJGPP GNU C/C++ with the gcc linker (makefile)
-
- If you wish to use the non-default model, minor changes to the batch
- files can be made to accommodate.
-
- QMAKE a make utility
-
- Quarterdeck's QMAKE.EXE is a utility much like the standard UNIX MAKE
- and is found in the DESQview/X directory, usually \DVX.
-
- QMAKE supports macros, include files, multiple targets and the standard
- set of command line options. To display a concise listing of available
- switches you can issue the command QMAKE -h in the DESQview/X
- directory.
-
- For a complete description of the format of QMAKE makefiles, see any
- documentation describing the UNIX MAKE utility--QMAKE makefiles
- are virtually identical.
-
- You may of course make your own makefiles and use another make utility
- if you wish.
-
- Architecture of a DESQview/X X/Motif Client
-
- A DESQview/X X/Motif Client can consist of many programming layers
- which rely on lower layers, and when all are used, the X Client might
- be conceptually partitioned as follows:
-
- Xm
-
- Xm is the OSF/Motif widget set and is layered on
- top of the Xt programming library. Xm provides the X Clients with
- high level objects such as buttons, scrollbars and dialog boxes.
-
-
- Mrm
-
- Mrm is the OSF/Motif programming library that provides
- resource management for the OSF/Motif widget set.
-
- Xaw
-
- Xaw is the Athena widget set and requires both libraries
- Xmu and Xt to operate. Xaw provides the X Client with high level objects
- such as buttons, scrollbars and dialog boxes. You would not use both
- the Athena and Motif widget sets within the same client.
-
- Xt
-
- The Xt layer supports an object-oriented framework
- that may be used by either an X Client or by a higher level library
- such as Xaw or Xm.
-
- Xmu
-
- Xmu is a library of miscellaneous utility routines
- that may be used by an X Client and is also used by library Xaw.
-
- Xext
-
- Xext incorporates extensions to the X Window System,
- such as shaped windows. These are extensions to Xlib.
-
- Xlib
-
- This layer translates C calls into the low level
- X Protocol messages. An X Client that uses only Xlib calls and dispenses
- with any of the higher level libraries is called an Xlib Client.
-
- Sys - System Library
-
- This contains the Berkeley Socket Interface routines
- through which the X Client performs its work. These routines may be
- called directly by the X Client or by the X11 programming layers.
-
- In addition to these programming layers, the X Client may implement
- the following:
-
- Interprocess communications
-
- An X Client can communicate with other X Clients
- (whether on the same machine or a different machine) by using the
- network-independent Berkeley Socket Interface contained in the DESQview/X
- System Library.
-
-
- Scalable Fonts
-
- An X Client may use the Adobe Type Manager Type I
- scalable font technology to create true WYSIWYG displays. This is
- performed using standard Xlib calls.
-
- Printing
-
- An X Client may create printer output in much the
- same way as using X programming calls to create display output. This
- is performed using standard Xlib calls.
-
- DESQview/X Help
-
- Using the DESQview/X Help System you may create help
- files for your own applications.
-
- Window Manager Features
-
- An X Client may draw upon the features of a particular
- window manager. This is accomplished through the use of X properties
- that are manipulated using standard Xlib calls.
-
-